View Javadoc

1   package uba.db.sql.interpreter.sentencevalidation;
2   
3   import uba.db.sql.language.Sentence;
4   import uba.db.sql.language.TableName;
5   import uba.db.sql.language.VisitorBehavior;
6   
7   public class NewTableNameValidation extends SentenceValidationBehavior {
8       public NewTableNameValidation(Sentence sentence, SentenceValidator validator) {
9           super(sentence, validator);
10      }
11  
12      public void execute() throws SentenceValidationException {
13          try {
14          sentence.accept(new TableNameValidationVisitor());
15          } catch (TableAlreadyExistsException e) {
16              throw new SentenceValidationException(e);
17          }
18      }
19  
20      private class TableNameValidationVisitor extends VisitorBehavior {
21          public void visitTableName(TableName tableName) {
22              // FIXME no se deberia usar toString
23              String tableNameString = tableName.toString();
24              if (validator.isExistantTableName(tableNameString)) {
25                  throw new TableAlreadyExistsException(tableNameString);
26              }
27          }
28      }
29  }